The present invention relates to the control of an effector trajectory from a current state to a target state and a respective computer software program, a manipulator, an actuated camera system, a robot comprising one or more manipulators or a vehicle equipped with a driver support system, for example.
When a trajectory of an effector, e.g., a robot, is controlled, the target state has to be defined. The target state is, for example, defined by an object that is to be handled by a manipulating arm of a robot. In general the position of the object can be described by three parameters. In addition to the object position it is necessary to describe a spatial orientation which is often made by Kardan- or Euler-angles.
To carry out the movement of an effector of a robot the trajectory is usually generated by mapping increments from a control parameter space on a configuration space.
The control parameter space or task space is the space of the command elements. The control parameter space is composed of the command elements. The command (also “target” or “task”) elements are the elements of a respective command vector. These elements define a useful description of what should be controlled, e.g., the position of a hand or the inclination of a head. The configuration space is the space of controllable degrees of freedom. The configuration space can be composed of individual joints of a robot and/or more complex kinematics mechanisms to which controllable degrees of freedom can be assigned.
The mapping can be divided in following three different scenarios:
First, the configuration space dimension (or joint space dimension) corresponds to the control parameter space dimension (task space dimension). In such a case the mapping is mostly unique.
Second, the task space dimension exceeds the joint space dimension. In this case there will be generally no solution to the mapping, because an operation cannot be performed on the basis of the task space.
The third group represents the situation when the dimension of the joint space is higher than the dimension of the task space. This results in a so-called “Null space” representing the dimensional difference between the joint space and the task space. The Null space contains the redundant degrees of freedom, in which movements can be carried out without effecting the task space motion.
A mathematical definition of the Null space is: the set of arguments of a linear operator such that the corresponding function value is zero. Redundant systems have a (local) null space that can be used to address a secondary objective, such as kinematic conditioning, without disturbing a primary task.
Robots having a task leaving a Null space therefore are sometimes called “redundant robots”, “kinematically redundant manipulators” etc. In the field of manipulators e.g., robotics, it is known to use the Null space in order to avoid obstacles, for example.
The problem with known generation methods of an effector trajectory is that it does not take into account that many problems have symmetric properties and therefore do not need a six parameter description of the object position and spatial orientation.